iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

Java程式實作系列 第 26

Java進階語法-3

  • 分享至 

  • xImage
  •  
  1. 集合框架(Collections Framework)
    Java 的集合框架是一個強大的資料結構庫,提供了多種集合類型來存儲和管理資料。這些集合主要包括三大類:List、Set和 Map,每種集合有各自的特性和應用場景。

#常用集合類型

  1. List
    List是一個有序的集合,允許重複的元素,並且可以通過索引來存取元素。

    • 典型實現:
      ArrayList:基於動態陣列的實現,提供快速的隨機訪問。適合頻繁讀取資料的場景,因為插入或刪除元素時(特別是在中間位置)需要移動其他元素,性能較低。
      LinkedList:基於雙向鏈結的實現,適合頻繁插入、刪除的場景,但隨機訪問性能較差,因為必須從頭或尾遍歷到目標位置。
  2. Set
    Set是一個不允許重複元素的無序集合(部分實現有排序)。

    • 典型實現:
      HashSet:基於哈希表的實現,提供快速的插入、刪除和查找操作。適合需要高效去重操作的場景,但元素是無序的。
      LinkedHashSet:保留插入順序的 HashSet,適合在需要去重的同時保持插入順序的場合。
      TreeSet:基於紅黑樹結構,元素會按自然順序(或指定的比較器)進行排序。適合需要有序存取的場景。
  3. Map
    Map用來存儲鍵值對(key-value pairs),每個鍵必須是唯一的,但值可以重複。

    • 典型實現:
      HashMap:基於哈希表,提供快速的鍵查找和插入。適合頻繁存取和更新鍵值對的情況。
      LinkedHashMap:保留鍵的插入順序,適合在需要按插入順序迭代鍵值對的情況下使用。
      TreeMap:基於紅黑樹,提供有序的鍵查找。適合需要按鍵進行排序的場景。

#集合實現的性能特性與適用場景
·ArrayListvs. LinkedList:
ArrayList適合頻繁的隨機存取和按索引檢索,但插入和刪除時,若發生在中間位置,性能會較差。
LinkedList適合頻繁的插入和刪除操作,但隨機訪問性能較差。

·HashSetvs. TreeSet:
HashSet適合高效的去重和查找操作,且不需要元素的順序。
TreeSet提供有序集合,適合需要對集合進行排序或範圍查詢的情況。

·HashMapvs. TreeMap:
HashMap適合快速查找鍵值對,插入和刪除鍵值對的操作也非常高效。
TreeMap適合需要按鍵進行排序的情況,並且提供有序的遍歷功能。


上一篇
Java進階語法-2.2
下一篇
Java進階語法-4
系列文
Java程式實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言